In the past, programmable interval timers have been used to perform a variety of timing functions in various electrical systems. As described in U.S. Pat. No. 4,171,471, one use of a programmable interval timer in a home security system is to control the operation of electrical devices such as automatically turning the devices on and off at designated times during the day. The timer is manually programmed by sliding adjustable contacts positioned on the circumference of a rotating timing dial. In more sophisticated security systems, a microprocessor typically programs the timing intervals and controls the timer.
In one system to measure the length of a moving elongated material surface as described in U.S. Pat. No. 4,438,402, the output pulses of a rolling contact tachometer length gauge are used to program two counters of a programmable interval timer. The timing intervals of these two counters form a time window in which a measurement signal from a highly accurate, but somewhat unreliable, electrostatic length gauge is expected. The output of the electrostatic length gauge is used to correct the less accurate, but more reliable, tachometer gauge output pulses. If the measurement signal is not sensed within this time window, the output pulses from the tachometer gauge automatically restart the unreliable electrostatic gauge. However, output signals from the electrostatic gauge outside the time window are disregarded.
In another prior art system described in U.S. Pat. No. 4,161,787, a programmable interval timer is coupled to the data bus of a microprocessor system to generate an interrupt signal when a maximum predetermined count has been reached. The timer has several counters that may be individually set by various software routines to different maximum timing intervals.
In still another prior art dual processor system described in U.S. Pat. No. 4,455,661, a programmable interval timer serves as a "watchdog" or "sanity" timer. One of the processors programs a maximum timing interval into the timer. At the start of a processor program routine, the programmable timer initiates the timing interval. Each program routine includes instructions to periodically reset the timer. Should the processor be under the control of an endless program loop, the maximum timing interval of the timer is exceeded, and the timer generates an alarm signal to interrupt the endless program loop. However, such an arrangement fails to address the problem of a processor under the control of an endless program loop that continually resets the timer. No matter how long the processor is under the control of this endless loop, the sanity timer will not interrupt the processor. In addition, since the timer is programmable, a processor under the control of an endless program loop may somehow reprogram the timing interval of the timer. Thus, the programmable timer may be again rendered useless to interrupt the processor.